package com.xs.designpattern;

import lombok.extern.slf4j.Slf4j;

/**
 * 兽人军官
 *
 * @author xs
 */
@Slf4j
public class OrcOfficer implements RequestHandler {
    /**
     * 判断是否是TORTURE_PRISONER
     *
     * @param req 请求
     * @return true false
     */
    @Override
    public boolean canHandleRequest(Request req) {
        return req.getRequestType() == RequestType.TORTURE_PRISONER;
    }

    /**
     * 获取请求的优先级
     *
     * @return 优先级
     */
    @Override
    public int getPriority() {
        return 3;
    }

    /**
     * 处理请求
     *
     * @param req 请求
     */
    @Override
    public void handle(Request req) {
        req.markHandled();
        log.info("{} 处理请求 \"{}\"", name(), req.getRequestDescription());
    }

    /**
     * 返回处理请求的人
     *
     * @return name
     */
    @Override
    public String name() {
        return "兽人军官";
    }
}
